Autonomic Management
Autonomic computing, also known as autonomous computing, is a new concept and reference standards, proposed by P. Horn of IBM of the United States in October 2001 in a paper titled “Autonomic Computing: IBM's Perspective on the State of Information Technology”. Autonomic computing is widely considered to be a new generation of integrated computer technology. In the field of computer networks, the technology enables self management for network equipment and software on the network, with little or no human intervention.
The terminology “autonomic” is originated from neuro-science theory. Autonomic nervous system is widely distributed in organs' interconnected neural network. Coordinating through the sympathetic and parasympathetic nerves, autonomic nervous system can “autonomicly” regulates human body's various parameters (temperature, heart rate, blood pressure, blood sugar level, etc.), and keep them in certain ranges.
Currently there is no unified definition of autonomic computing. According to Kephart's “The Vision of Autonomic Computing”, an autonomic computing system generally considered to have a set of four properties: self-configurating, self-healing, self-optimizing, and self-protecting. Among them, self-configurating refers to a system is capable of automatically configure itself based on high-level strategies to adapt to the changes in environment; self-healing refers to a system can automatically detect, diagnose and repair faults when some hardware/software failure or exception occurs; self-protecting refers to a system can protect itself as a whole when the system encounters a malicious attack, or a cascade failure occurs within the system due to self-healing was unsuccessful. At the same time, it can also predict a problem based on the reports from sensors, and take measures to prevent it; self-optimizing refers to a system can constantly look for effective ways to improve performance and reduce consumption. According Salehie's statistical data in his doctoral dissertation “A Quality-Driven Approach to Enable Decision-Making in Self-Adaptive Software”, most of autonomic computing systems only focus on one or two of these four properties. Therefore, to be qualified as an autonomic computing system, is does not need all four properties existing altogether.
An autonomic computing system consists of several interconnected autonomic elements. Governed by some policy, while the autonomic elements achieve internal self-adaptive goals (i.e., local autonomic management), they also achieve a system-wise adaptive goal (i.e., global autonomic management) through interaction and collaboration. (The differences between “autonomic element” and “autonomic manager” are discussed in the description of FIG. 2B.)
In an autonomic computing system, a set of autonomic elements may cooperate to achieve some common goal. IBM's White Paper “An Architectural Blueprint for Autonomic Computing” describes a generic autonomic system architecture, called Autonomic Computing Reference Architecture (ACRA), see FIG. 1.
ACRA divides an autonomic computing system into three layers:
The lowest/bottom layer contains the system components or managed resources. These managed resources can be any type of resource, either hardware or software. Some of these resources can have some embedded, self-managing properties (see FIG. 1, a self-managed resource is depicted in the left side of bottom layer). Each managed resource may incorporate standard interfaces. Each standard interface corresponds to a sensor/effector set. On one hand, an autonomic element manages internal resources through autonomic manger; on the other hand, it provides standard interfaces (a sensor/effector set) outwards for being managed, including receiving policies from IT manager and collaborating information from other autonomic elements. Managed elements not only can be in-house resources, including databases, servers, routers, application components, web services, or virtual machines, but also can be other autonomic elements. For example, a parent-level autonomic element which is responsible for the global orchestration can manage multiple child-level autonomic elements.
The middle layer contains resource managers which are often classified into four categories: self-configuring, self-healing, self-optimizing and self-protecting. Each resource may have one or multiple resource managers; each manager controls its own feedback loop.
The highest/top layer of ACRA contains autonomic managers that orchestrate resource managers. These autonomic managers deliver a system-wide autonomic capability by incorporating control loops that realize broad goals of the overall IT infrastructure. The left side in FIG. 1 illustrates a manual manager that provides a common system management interface for the IT professional using an integrated solutions console. The various manual and autonomic manager layers can obtain and share knowledge via knowledge sources which are depicted on the right side in FIG. 1.
According to the current autonomic computing technology trends (i.e., examples in Salehie's doctoral dissertation), the vast majority of self-management systems are based on physical systems, and there is almost no example existing which is intergrated with virtualization technology. The present invention is focus on the virtualization method of autonomic management system.
Although Grell et al.'s patent (US2010/028736110) has used Complex Event Processing (CEP) engine to achieve Root Cause Analysis (RCA), it does not involve autonomic management method. In fact we may leverage the properties of CEP engine which can dynamically create and delete any instance of autonomic manager to achieve the virtualization of autonomic element in the middle layer of ACRA, and the applicable domain shall not be limited to RCA. As far as we know, the approach of using CEP technology to implement the autonomic managers of autonomic elements has not been disclosed in any previous patent, so the novelty and creativity of the present invention are reflected in the CEP design method of the autonomic computing system.
Virtual Network
The aforementioned virtualization should widely refer to virtual computing resources (such as virtual machines), network resources (such as virtual switches) and virtual storage resources, rather than only the virtualized operating systems (that is, the virtual machines) those skilled in the art are normally familiar with. Systems containing these virtual resources, in distributed situations, often include physical (non-virtual) computing, network, and storage resources. For example, a banking application development team may use some virtual and physical resources to develop and test simulations of these resources. However in the actual production environment, due to the possible performance degradation caused by virtualization, the virtual resources are not used. Therefore, we define “Virtual Networking” as: any distributed system using physical and/or virtual computing resources, network resources, and storage resources. A “Virtual Networking Management system” may be a system similar to the following standard-conformed systems: TMN, eTOM, NGOSS, TMForum or DMTF.
Although Virtual Network Management is multifaceted for the above standards, truly practical and innovative approach is rare. Those skilled in the art understand that operating system virtualization techniques such as VMWare, Xen or Linux KVM can improve server utilization and cost savings, but when facing large-scale data center resources, these techniques are not sufficient to “automate” complex user services. Moreover, even if they can use automation to improve virtual network efficiency of large-scale resources through integration, they cannot assure that there is no excessive use of resources to result in an “over-capacity” condition.
Virtual network management system includes multiple subsystems: application planning and design system, application delivery system, and a subsystem called the application assurance system which relieves the aforementioned over-capacity condition. As for the method of the application assurance under virtual networks, in Tang et al, U.S. patent Ser. No. 13/115,341 “kernel bus system to build Virtual Machine Monitor and the performance service framework & Method therefore”, its performance services framework system itself does not mention the monitoring and collection of performance data. n Tang et al, Chinese patent 201110141642.X “A framework and method of monitoring performance of virtualized systems based on hardware base tool”, the monitoring and collecting of performance data is presented separately. These two patents do not refer to each other, let alone the combination of autonomic management system, as well as the realization of such a combined approach.
Autonomic Management of Virtual Networks
For autonomic management of the virtual network applications, Barkai et al, U.S. Pat. No. 6,941,362B2 states a RCA (root cause analysis) approach for general network environment, but does not use the concept of autonomic management, nor does it mention its network environment includes any kind of virtual resources. Accordingly, the combination of the autonomic management system and method in the disclosed invention, and the automated virtual network management system (in particular the application assurance system), has never appeared in other patents.